Visualisierung von Verteilungen
Humboldt-Universität zu Berlin
Mi. den 25.10.2023
Letzte Woche haben wir…
Was enthalten die Vektoren x und y?
Das Objekt x enthält 1, 2, 3
Das Objekt y enthält ` 6 ``
Heute werden wir lernen…
ggplot erstelltAnzahl) der Reaktionszeiten und der Muttersprache der TeilnehmerIn Ihrem RProject-Ordner…
moodle
notes mit dem Namen 02-datenviz1
.R Skript
tidyverselanguageRggthemespatchwork# in the CONSOLE: install packages if needed
install.packages("tidyverse")
install.packages("languageR")
install.packages("ggthemes") # for customising our plots
install.packages("patchwork") # plot layoutsDatenrahmen sind eine Sammlung von Variablen, wobei
Datenrahmen sind genau wie Tabellenkalkulationen, aber rechteckig
Verschiedene Wörter für Datenrahmen:
tidyverse)unser erster Datensatz enthält Daten aus einer lexikalischen Entscheidungsaufgabe
Bei der LDT drücken die Teilnehmer eine Taste, um anzugeben, ob ein Wort ein echtes Wort oder ein Pseudowort ist.
lexdec DatensatzlanguageR ist ein Begleitpaket für das Lehrbuch Baayen (2008)
lexdec.lexdec-Datensatz enthält Daten für eine lexikalische Entscheidungsaufgabe im Englischen
lexdec-Variablen| Variable | Beschreibung |
|---|---|
| Subject | ein Faktor für die Probanden |
| RT | ein numerischer Vektor für die Reaktionszeit in Millisekunden |
| Trial | ein numerischer Vektor für den Rang des Versuchs in der Versuchsliste |
| Sex | ein Faktor mit den Ausprägungen F (weiblich) und M (männlich) |
| NativeLanguage | ein Faktor mit den Niveaus English und Other, der zwischen englischen Muttersprachlern und Nicht-Muttersprachlern unterscheidet |
lanaugeR verfügbar, das wir bereits geladen haben
Subject RT Trial Sex NativeLanguage Correct PrevType PrevCorrect
1 A1 6.340359 23 F English correct word correct
2 A1 6.308098 27 F English correct nonword correct
3 A1 6.349139 29 F English correct nonword correct
4 A1 6.186209 30 F English correct word correct
5 A1 6.025866 32 F English correct nonword correct
6 A1 6.180017 33 F English correct word correct
df_lexdec, was soviel bedeutet wie “Datenrahmen lexikalische Entscheidung”.ggplot2
tidyverse ist eine Sammlung von Paketen, die das Aufräumen und die Visualisierung von Daten erleichtern
tidyverse laden, wird diese Sammlung von Paketen automatisch geladenggplot2-Paket ist ein tidyverse-Paket, das Plots in Schichten aufbautggplot2 SchichtenAbbildung 1: Example of layers in a ggplot figure
ggplot() ist wie eine leere Leinwandggplot() mit, wie unsere Variablen visuell dargestellt werden sollen
RT in die Funktion exp() ein, um RTs in Millisekunden zu erhalten (aus Gründen, die wir nicht diskutieren werden)Aufgabe 2: Ästhetische Kartierung
Beispiel 2
Add the x-axis aesthetic.
ggplot() nicht gesagt, wie sie dargestellt werden sollenggplot2 beginnen die Geom-Funktionen mit geom_
geom_bar()), Liniendiagramme Liniengeome (geom_line()), Punktdiagramme ein Punktgeom (geom_point()), usw.geom_histogram()
Hinweis
Wir erhielten die folgende Meldung, als wir geom_point() einschlossen:
stat_bin()mitbins = 30. Wählen Sie einen besseren Wert mitbinwidth.
Dies sagt uns nur etwas über die Breite unserer Balken: jeder Balken repräsentiert einen Bereich möglicher Reaktionszeitwerte + bins = 30 bedeutet einfach, dass es 30 Balken gibt, wir können dies ändern und mehr oder weniger Balken haben, indem wir z.B. bins = 20 oder bins = 100 in geom_histogram() einfügen
ggplot(
data = df_lexdec,
aes(x = exp(RT))
) +
labs(title = "No grouping") +
geom_histogram() +
ggplot(
data = df_lexdec,
aes(x = exp(RT), fill = NativeLanguage)
) +
labs(title = "Stacked") +
geom_histogram() +
ggplot(
data = df_lexdec,
aes(x = exp(RT), fill = NativeLanguage)
) +
labs(title = "Layered: position = \"identity\"") +
geom_histogram(position = "identity") +
plot_layout(guides = "collect") & theme(legend.position = 'bottom') alpha = 0.3 zu geom_histogram() hinzufügen.Aufgabe 3: Transparenz
Beispiel 3
Spielen Sie mit der Transparenz des Histogramms geom. Wählen Sie den von Ihnen bevorzugten Alpha-Wert. Die Ausgabe sollte in etwa so aussehen:
wir können unsere Achsen- und Legendenbeschriftungen verbessern und auch Titel hinzufügen, indem wir die Funktion labs() verwenden
Wir können auch die Funktion scale_fill_colorblind() aus dem Paket ggthemes verwenden.
Wir werden auch die Funktion theme_minimal() aus dem Paket ggplot2 verwenden; was bewirkt diese Funktion?
Versuchen Sie, Ihrem Diagramm Folgendes hinzuzufügen
# hinzu# histogram of reaction times by native language
ggplot(data = df_lexdec) +
aes(x = exp(RT), fill = NativeLanguage) + # set aesthetics
labs(title = "Reaction times by L1",
x = "Reaction times (ms)") +
geom_histogram(position = "identity", alpha = 0.3) +
scale_fill_colorblind() + # make fill colorblind friendly
theme_minimal() # set plot themefig1 oder xyz)fig_lexdec_rt, für “figure lexical decision task reaction times”.Aufgabe 4: Figur als Objekt speichern
Beispiel 4
fig_lexdec_rt.fig_lexdec_rt)NativeLanguage
geom_histogram() durch geom_bar()
position oder alpha)fig_lexdec_l1)patchwork
+ um zwei Plots nebeneinander zu verbinden/, um sie übereinander darzustellen+
/
Diese Übungen sollten auch in Ihrem Skript enthalten sein, wenn Sie es auf Moodle hochladen. Das Durcharbeiten des Unterrichtsmaterials wird Sie auf diese Aufgaben vorbereiten.
geom_histogram() durch geom_density() ersetzen.
Class aus unserem Datensatz).Drucken Sie Ihren Dichteplot und Ihren Klassen-Balkenplot übereinander mit Hilfe des patchwork Pakets
Reproduzieren Sie die folgenden Diagramme so genau wie möglich (Hinweis: Sie benötigen das Argument position = "dodge"):
Heute haben wir gelernt…
ggplot erstelltHergestellt mit R version 4.3.0 (2023-04-21) (Already Tomorrow) und RStudioversion 2023.3.0.386 (Cherry Blossom).
R version 4.3.0 (2023-04-21)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Ventura 13.2.1
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.11.0
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
time zone: Europe/Berlin
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] magick_2.7.4 kableExtra_1.3.4 knitr_1.44 patchwork_1.1.3
[5] ggthemes_4.2.4 languageR_1.5.0 lubridate_1.9.2 forcats_1.0.0
[9] stringr_1.5.0 dplyr_1.1.3 purrr_1.0.2 readr_2.1.4
[13] tidyr_1.3.0 tibble_3.2.1 ggplot2_3.4.3 tidyverse_2.0.0
loaded via a namespace (and not attached):
[1] utf8_1.2.3 generics_0.1.3 xml2_1.3.4 stringi_1.7.12
[5] hms_1.1.3 digest_0.6.33 magrittr_2.0.3 evaluate_0.21
[9] grid_4.3.0 timechange_0.2.0 fastmap_1.1.1 rprojroot_2.0.3
[13] jsonlite_1.8.7 httr_1.4.6 rvest_1.0.3 fansi_1.0.4
[17] viridisLite_0.4.2 scales_1.2.1 cli_3.6.1 rlang_1.1.1
[21] munsell_0.5.0 withr_2.5.0 yaml_2.3.7 tools_4.3.0
[25] tzdb_0.4.0 colorspace_2.1-0 webshot_0.5.4 here_1.0.1
[29] pacman_0.5.1 vctrs_0.6.3 R6_2.5.1 lifecycle_1.0.3
[33] pkgconfig_2.0.3 pillar_1.9.0 gtable_0.3.4 Rcpp_1.0.11
[37] glue_1.6.2 systemfonts_1.0.4 highr_0.10 xfun_0.39
[41] tidyselect_1.2.0 rstudioapi_0.14 farver_2.1.1 htmltools_0.5.5
[45] svglite_2.1.1 rmarkdown_2.22 labeling_0.4.3 compiler_4.3.0
Woche 2 - Datenvisualisierung 1